package jetpack.com.pzl.architecture.data_binding;

import androidx.databinding.BaseObservable;
import androidx.databinding.Bindable;

public class Bean1 extends BaseObservable {

    //如果是 public 修饰符，则可以直接在成员变量上方加上 @Bindable 注解
    @Bindable
    public String name;

    //如果是 private 修饰符，则在成员变量的 get 方法上添加 @Bindable 注解
    private String details;

    private float price;

    public Bean1(String name, String details, float price) {
        this.name = name;
        this.details = details;
        this.price = price;
    }

    public void setName(String name) {
        this.name = name;
        //只更新本字段
        notifyPropertyChanged(jetpack.com.pzl.BR.bean1);
        //BR文件，databing根据布局里申明导入的变量名称生成的编译时静态ID文件
        //BR文件和R文件都是资源文件，但BR，R两个文件的id是不稳定的，如果你在xml文件里面新增了一个变量的话，又会重新排列一次
    }

    @Bindable
    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details;
        //更新所有字段
        notifyChange();
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }


}
